package com.ttg.utils;

//~--- JDK imports ------------------------------------------------------------

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

//~--- classes ----------------------------------------------------------------

/**
 * Class DateUtil
 * Description 日期处理类
 * Create 2015-09-12 14:16:56
 * @author Ardy
 */
public class DateUtil {

    /** 年月日时分秒(无下划线) yyyyMMddHHmmss */
    public static final String dtLong = "yyyyMMddHHmmss";

    /** 完整时间 yyyy-MM-dd HH:mm:ss */
    public static final String simple = "yyyy-MM-dd HH:mm:ss";

    /** 年月日(无下划线) yyyyMMdd */
    public static final String dtShort = "yyyyMMdd";

    /**
     * Method date2Str
     * Description 按照yyyy-MM-dd HH:mm:ss的格式，日期转字符串
     *
     * @param date Date
     *
     * @return String
     */
    public static String date2Str(Date date) {
        return date2Str(date, "yyyy-MM-dd HH:mm:ss");
    }

    /**
     * Method date2Str
     * Description 按照参数format的格式，日期转字符串
     *
     * @param date Date
     * @param format String
     *
     * @return String
     */
    public static String date2Str(Date date, String format) {
        if (date != null) {
            SimpleDateFormat sdf = new SimpleDateFormat(format);

            return sdf.format(date);
        } else {
            return "";
        }
    }

    /**
     * 返回系统当前时间(精确到毫秒),作为一个唯一的订单编号
     * @return
     *      以yyyyMMddHHmmss为格式的当前系统时间
     */
    public static String getOrderNum() {
        Date       date = new Date();
        DateFormat df   = new SimpleDateFormat(dtLong);

        return df.format(date);
    }

    /**
     * 获取系统当前日期(精确到毫秒)，格式：yyyy-MM-dd HH:mm:ss
     * @return
     */
    public static String getDateFormatter() {
        Date       date = new Date();
        DateFormat df   = new SimpleDateFormat(simple);

        return df.format(date);
    }

    /**
     * 获取系统当期年月日(精确到天)，格式：yyyyMMdd
     * @return
     */
    public static String getDate() {
        Date       date = new Date();
        DateFormat df   = new SimpleDateFormat(dtShort);

        return df.format(date);
    }

    /**
     * 产生随机的三位数
     * @return
     */
    public static String getThree() {
        Random rad = new Random();

        return rad.nextInt(1000) + "";
    }

    /**
     * Method main
     * Description
     *
     * @param args String[]
     */
    public static void main(String[] args) {
        System.out.println("args = [" + new Date() + "]");
        System.out.println("args = [" + System.currentTimeMillis() + "]");
        System.out.println("args = [" + new Date() + "]");
    }
}


//~ Formatted by Jindent --- http://www.jindent.com
